// ****************************************************************************
//
// Logic 10: River Rapids
//
// ****************************************************************************

#include "defines.txt"

if (new_room) {
  load.pic(room_no);
  draw.pic(room_no);
  discard.pic(room_no);
  set.horizon(37);

  animate.obj(o2);
  load.view(11);
  set.view(o2,11);
  position(o2,50,123);
  stop.cycling(o2);
  set.priority(o2,13);



  if (handle_fixed) {
     draw(o2);
     }

  animate.obj(o3);
  load.view(12);
  set.view(o3,12);
  position(o3,69,122);
  universe=3;
  cycle.time(o3,universe);
  set.priority(o3,8);

  draw(ego);
  show.pic();
}

if (said("look")) {
  print("River crossing");
}

if ((said("fix","bridge") ||
     said("fix","handle"))) {
     if (!handle_fixed) {
         if (has("handle")) {
             drop("handle");
             draw(o2);
             print("You deftly install the handle.");
             print("What skill!");
             set(handle_fixed);
             score+=1;
             }
         else {
             print("Don't have it.  Can't do it.");
             }
          }
     else {
         print("Yes, well, it's already fixed, innit?");
         }

   }

if (said("use","handle")){
    if (handle_fixed) {
        if (!bridge_down) {
        set(bridge_down);
        draw(o3);
        start.cycling(o3);
        end.of.loop(o3,done_flag);
        }
        else {
           reset(bridge_down);
           reverse.loop(o3,done_flag);
           erase(o3);
           }
        }
    else {
       print("You'll have to fix it before you can use it!");
       }
    }

if (bridge_down) {
     set.cel(o2,1);
     }
  else {
     set.cel(o2,0);
     }

if (ego_touching_signal_line &&
    !bridge_down) {
       print("Too deep!");
       move.obj(ego, 66, 102,2,done_flag);
       }

if (ego_edge_code == left_edge) {
  new.room(7);
  }

if (ego_edge_code == right_edge) {
  new.room(8);
}

if (ego_edge_code == horizon_edge) {
  new.room(11);
  }

return();